home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
newsgroups
/
misc.20000217-20000824
/
000219_news@columbia.edu _Mon Apr 24 11:36:36 2000.msg
< prev
next >
Wrap
Internet Message Format
|
2020-01-01
|
7KB
Return-Path: <news@columbia.edu>
Received: from watsun.cc.columbia.edu (watsun.cc.columbia.edu [128.59.39.2])
by fozimane.cc.columbia.edu (8.9.3/8.9.3) with ESMTP id LAA12202
for <kermit.misc@cpunix.cc.columbia.edu>; Mon, 24 Apr 2000 11:36:35 -0400 (EDT)
Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id LAA12097
for <kermit.misc@watsun.cc.columbia.edu>; Mon, 24 Apr 2000 11:36:35 -0400 (EDT)
Received: (from news@localhost)
by newsmaster.cc.columbia.edu (8.9.3/8.9.3) id LAA16428
for kermit.misc@watsun.cc.columbia.edu; Mon, 24 Apr 2000 11:24:32 -0400 (EDT)
X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
From: Ishikawa <ishikawa@yk.rim.or.jp>
Subject: Parity incorrectly reported, and RTS/CTS problem on Solaris 7 for x86
Date: Tue, 25 Apr 2000 00:15:27 +0900
Organization: RIMNET InterNetNews site
Message-ID: <3904650F.A10717AF@yk.rim.or.jp>
To: kermit.misc@columbia.edu
First, thank you for the great package.
I asked a few questions concerning the usage of 8 bits byte, and an even
parity
several weeks ago on linux and after the kind answers I could get kermit
going on
Debian GNU/linux well.
Now, after trying kermit on solaris 7 for x86 for some time,
I would like to report a minor cosmetic bug, and
a rather annoying problem.
First the easy one.
[1] One cosmetic bug.
I set the parity to "parity hardware even" (8E1).
But the parity shown on the receiving server side (i.e., after
I type "server" [CR]) is `none' instead of `hardware even'.
Maybe this discrepancy can be fixed.
Eg. From the command line, kermit corectly shows that the parity is
hardware even.
--- begin quote ---
(/tmp/) C-Kermit>show communications
Communications Parameters:
Line: /dev/ttya, speed: 115200, mode: local, modem: none
Parity: hardware even, stop-bits: (default) (8E1)
Duplex: full, flow: rts/cts, handshake: none
Carrier-watch: off, close-on-disconnect: off
Lockfile: /var/spool/locks/LK.102.106.000
Terminal bytesize: 8, escape character: 28 (^\)
Carrier Detect (CD): Off
Dataset Ready (DSR): On
Clear To Send (CTS): On
Ring Indicator (RI): Off
Data Terminal Ready (DTR): On
Request To Send (RTS): On
... omitted ...
--- end quote ---
But, the CRT display on the server side is as below.
--- begin quote
C-Kermit 7.0.197, 8 Feb 2000, www [192.9.200.253]
Current Directory: /tmp
Communication Device: /dev/ttya
Communication Speed: 115200
Parity: none <---- buggy?
RTT/Timeout:
...omitted ...
--- end quote
Now a little complicated one.
I am not sure if this is a bug or feature.
[2] A user expectancy problem. RTS/CTS is not supported by
pre-compiled binary for Solaris 7 for x86.
But kermit doesn't complain if I specify rts/cts flow-control, and
SILENTLY ignored my request, so to speak.
Background:
Having been using c-kermit on solaris7 and linux rather well,
I noticed a peculiar problem.
With 115200 bps connection, I got transfer error among solaris 7 for
x86 machines. (Actually, I tried to narrow the problem down by
connecting com1 and com2 ports of the same machine with a short rs232c
cable.) At 115200bps, if I let the kermit choose the packet size of
approximately 4000 transfer packet size automatically, the transfer
failes after about dozen second or so. If I limit the transfer size
to about 3000 bytes, the transfer of a large file (actually the kermit
binary) succeeds to completion.
I scratched my head for a while, and figured that the hardware flow
control rts/cts is NOT enabled on this solaris7 for x86 platform.
(Just a sheer luck to find this out. I was debugging a different
serial communication program in a different window, and I suspected
that program has a flow-control problem and began checking the
setting of tty terminals using "stty -a < target_tty", and
I happened to check the kermit terminal by mistake. Voila, an unexpected
output there!
*USER EXPECTANCY PROBLEM*: C-kermit doesn't complain at all when I typed
set flow-control rts/cts
and doesn't say a thing when I typed
connect
It simply failed to set RTS/CTS and merrily goes on processing.
Beat me why it did NOT give me any warning about not-supported RTS/CTS
or
maybe the code forgot to handle the non-supported case since the
code to handle CRTSCTS is cluttered with many #ifdef's.)
Anyway, after I modified the supplied `makefile' to define
POSIX_CRTSCTS (and inserted a few fprintf(stderr,"...") lines just to
let me make sure the expected lines to enable RTS/CTS flow control are
executed) and recompiled the C-kermit-7 code, I verified that now that
the RTS/CTS enable code is executed and the transfer at 115200 bps
(8E1) with flow-control of rts/cts works and transfer of wermit binary
(about 1.6MB) using packet length of 3999 (default) with D-type packet
went well(!). [Sorry about this very long sentence.]
I tested this using sun cc. I am not sure about using gcc, but this
should also work.
I have no idea at this moment if solaris 7 for sparc (not x86) should
work with this modification, but it should.
If not, maybe we need a different target (solars7x86 against solaris7)
just in
case. YMMV.
Here is the patch to makefile (for solaris 7 for x86).
I simply inserted -DPOSIX_CRTSCTS.
(Is this macro supposed to be automatically defined when one says
-DPOSIX? From the comment I found in the code, I don't think so, but
just have to ask.)
bash-2.03$ rcsdiff -c makefile
rcsdiff -c makefile
===================================================================
RCS file: RCS/makefile,v
retrieving revision 1.1
diff -c -r1.1 makefile
*** /tmp/T0lFairI Mon Apr 24 18:58:22 2000
--- makefile Mon Apr 24 18:47:23 2000
***************
*** 2457,2463 ****
#Solaris 7 with gcc (32-bit)
solaris7g:
$(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
! "KFLAGS=-DPOSIX -DSOLARIS7 -DCK_WREFRESH $(KFLAGS)"
#Solaris 8 with gcc (32-bit)
solaris8g:
--- 2457,2463 ----
#Solaris 7 with gcc (32-bit)
solaris7g:
$(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
! "KFLAGS=-DPOSIX_CRTSCTS -DPOSIX -DSOLARIS7 -DCK_WREFRESH
$(KFLAGS)"
#Solaris 8 with gcc (32-bit)
solaris8g:
***************
*** 2530,2536 ****
#Solaris 7 (aka 2.7)
solaris7:
$(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
! "KFLAGS=-DSOLARIS7 $(KFLAGS)"
#Solaris 8
solaris8:
--- 2530,2536 ----
#Solaris 7 (aka 2.7)
solaris7:
$(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
! "KFLAGS=-DPOSIX_CRTSCTS -DSOLARIS7 $(KFLAGS)"
#Solaris 8
solaris8:
bash-2.03$
This is all for now.
Again, thank you for the great package!
Happy Hacking,
Ishikawa